<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Kinetis Bootloader Host: StELFFile.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="nxp_logo_small.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Kinetis Bootloader Host
   &#160;<span id="projectnumber">2.0.0</span>
   </div>
   <div id="projectbrief">Host Tools for Kinetis devices</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Introduction</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('apps_2elftosb_2common_2_st_e_l_f_file_8h_source.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">apps/elftosb/common/StELFFile.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * File:    StELFFile.h</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Copyright (c) Freescale Semiconductor, Inc. All rights reserved.</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * See included license file for license details.</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#if !defined(_StELFFile_h_)</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#define _StELFFile_h_</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#include &quot;stdafx.h&quot;</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#include &lt;stdexcept&gt;</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &quot;ELF.h&quot;</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;{</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    eARMVariant = 1, </div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;    eGHSVariant,     </div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;    eGCCVariant      </div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;} ELFVariant_t;</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;{</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    eUnknownSymbol,</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    eARMSymbol,</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    eThumbSymbol,</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    eDataSymbol</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;} ARMSymbolType_t;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="class_st_e_l_f_file.html">   42</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_st_e_l_f_file.html">StELFFile</a></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;{</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <span class="keyword">typedef</span> std::vector&lt;Elf32_Shdr&gt;::const_iterator const_section_iterator;</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <span class="keyword">typedef</span> std::vector&lt;Elf32_Phdr&gt;::const_iterator const_segment_iterator;</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <a class="code" href="class_st_e_l_f_file.html#a8b4755ead44e29eed262fce6e92d33e4">StELFFile</a>(std::istream &amp;inStream);</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="class_st_e_l_f_file.html#a8113a82ee0a65fecbb72a214774bd4ed">~StELFFile</a>();</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="keyword">virtual</span> ELFVariant_t <a class="code" href="class_st_e_l_f_file.html#ac5f4c6e2abc6b94829f3bc1f57b7ae56">ELFVariant</a>() { <span class="keywordflow">return</span> <a class="code" href="class_st_e_l_f_file.html#a1f97854baf92491c5c68774b7c402b07">m_elfVariant</a>; }</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="class_st_e_l_f_file.html#a108d218dae9554c6bac311f05960f160">   60</a></span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_st_e_l_f_file.html#a108d218dae9554c6bac311f05960f160">setELFVariant</a>(ELFVariant_t variant) { <a class="code" href="class_st_e_l_f_file.html#a1f97854baf92491c5c68774b7c402b07">m_elfVariant</a> = variant; }</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setName(<span class="keyword">const</span> std::string &amp;inName) { <a class="code" href="class_st_e_l_f_file.html#ac1ba7311a751f7fc5f2eee47d338373f">m_name</a> = inName; }</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <span class="keyword">virtual</span> std::string getName()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_st_e_l_f_file.html#ac1ba7311a751f7fc5f2eee47d338373f">m_name</a>; }</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="struct_elf32___ehdr.html">Elf32_Ehdr</a> &amp;<a class="code" href="class_st_e_l_f_file.html#a20a1e62e93b67bdb8c3b185253f0c35b">getFileHeader</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_st_e_l_f_file.html#ac651a482dd310b5e620964211b69df9a">m_header</a>; }</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <a class="code" href="class_st_e_l_f_file.html#aa6a3cb3570dbe7cc18e8e1ce9370295a">getSectionCount</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span><span class="keyword">&gt;</span>(<a class="code" href="class_st_e_l_f_file.html#a4fbe23b0fcfdd317c9a3ab29f151eb82">m_sectionHeaders</a>.size()); }</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    <span class="keyword">const</span> <a class="code" href="struct_elf32___shdr.html">Elf32_Shdr</a> &amp;<a class="code" href="class_st_e_l_f_file.html#a711f091fc67efbff1abc6639289fe437">getSectionAtIndex</a>(<span class="keywordtype">unsigned</span> inIndex) <span class="keyword">const</span>;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <span class="keyword">inline</span> const_section_iterator getSectionBegin()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_st_e_l_f_file.html#a4fbe23b0fcfdd317c9a3ab29f151eb82">m_sectionHeaders</a>.begin(); }</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <span class="keyword">inline</span> const_section_iterator getSectionEnd()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_st_e_l_f_file.html#a4fbe23b0fcfdd317c9a3ab29f151eb82">m_sectionHeaders</a>.end(); }</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <span class="keywordtype">unsigned</span> <a class="code" href="class_st_e_l_f_file.html#a42e4cb4c9377f07b85d50caa8b412de2">getIndexOfSectionWithName</a>(<span class="keyword">const</span> std::string &amp;inName);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    uint8_t *<a class="code" href="class_st_e_l_f_file.html#a119443c477fe3ca4862bc46440480688">getSectionDataAtIndex</a>(<span class="keywordtype">unsigned</span> inIndex);</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    uint8_t *<a class="code" href="class_st_e_l_f_file.html#a686e6146a6786fe5baf7bd8209beff88">getSectionData</a>(const_section_iterator inSection);</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <a class="code" href="class_st_e_l_f_file.html#a4e8903987ad8b071895bea15322907d1">getSegmentCount</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span><span class="keyword">&gt;</span>(<a class="code" href="class_st_e_l_f_file.html#a222631bb90dd3546724386ee074b933b">m_programHeaders</a>.size()); }</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    <span class="keyword">const</span> <a class="code" href="struct_elf32___phdr.html">Elf32_Phdr</a> &amp;<a class="code" href="class_st_e_l_f_file.html#afe92defa024903a0e4590185d74e4b47">getSegmentAtIndex</a>(<span class="keywordtype">unsigned</span> inIndex) <span class="keyword">const</span>;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <span class="keyword">inline</span> const_segment_iterator getSegmentBegin()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_st_e_l_f_file.html#a222631bb90dd3546724386ee074b933b">m_programHeaders</a>.begin(); }</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <span class="keyword">inline</span> const_segment_iterator getSegmentEnd()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_st_e_l_f_file.html#a222631bb90dd3546724386ee074b933b">m_programHeaders</a>.end(); }</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    uint8_t *<a class="code" href="class_st_e_l_f_file.html#ade50c6ce0f3fde9168c41e968bce6450">getSegmentDataAtIndex</a>(<span class="keywordtype">unsigned</span> inIndex);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    uint8_t *<a class="code" href="class_st_e_l_f_file.html#afaa26d8ab0e9b60e90716c7494e65d2a">getSegmentData</a>(const_segment_iterator inSegment);</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    std::string <a class="code" href="class_st_e_l_f_file.html#a97da4e26f21e22d8e2337dc8cf923dad">getSectionNameAtIndex</a>(<span class="keywordtype">unsigned</span> inIndex);</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    std::string <a class="code" href="class_st_e_l_f_file.html#af3541a9b09ad7b60fddf9cd540c5f28f">getStringAtIndex</a>(<span class="keywordtype">unsigned</span> inStringTableSectionIndex, <span class="keywordtype">unsigned</span> inStringIndex);</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="keywordtype">unsigned</span> <a class="code" href="class_st_e_l_f_file.html#af6fc9dd4de7150784ec36962376eb993">getSymbolCount</a>();</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    <span class="keyword">const</span> <a class="code" href="struct_elf32___sym.html">Elf32_Sym</a> &amp;<a class="code" href="class_st_e_l_f_file.html#a1a871019ec48109ee86d466fffa81187">getSymbolAtIndex</a>(<span class="keywordtype">unsigned</span> inIndex);</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    <span class="keywordtype">unsigned</span> <a class="code" href="class_st_e_l_f_file.html#a1adb3270ec336c86cb4b0a3cfd4a986c">getSymbolNameStringTableIndex</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    std::string <a class="code" href="class_st_e_l_f_file.html#a1a4d85a2f655903d1648558b985d55fb">getSymbolName</a>(<span class="keyword">const</span> <a class="code" href="struct_elf32___sym.html">Elf32_Sym</a> &amp;inSymbol);</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    <span class="keywordtype">unsigned</span> <a class="code" href="class_st_e_l_f_file.html#a7dfc2f4b2a7d927a88091ac91ff9278d">getIndexOfSymbolAtAddress</a>(uint32_t symbolAddress, <span class="keywordtype">bool</span> strict = <span class="keyword">true</span>);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    ARMSymbolType_t getTypeOfSymbolAtIndex(<span class="keywordtype">unsigned</span> symbolIndex);</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <span class="keywordtype">void</span> dumpSections();</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    <span class="keywordtype">void</span> dumpSymbolTable();</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="class_st_e_l_f_file.html#af852887a96c37916379b145f6009962f">  150</a></span>&#160;    std::istream &amp;<a class="code" href="class_st_e_l_f_file.html#af852887a96c37916379b145f6009962f">m_stream</a>;                   </div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="class_st_e_l_f_file.html#a1f97854baf92491c5c68774b7c402b07">  151</a></span>&#160;    ELFVariant_t <a class="code" href="class_st_e_l_f_file.html#a1f97854baf92491c5c68774b7c402b07">m_elfVariant</a>;                </div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="class_st_e_l_f_file.html#ac1ba7311a751f7fc5f2eee47d338373f">  152</a></span>&#160;    std::string <a class="code" href="class_st_e_l_f_file.html#ac1ba7311a751f7fc5f2eee47d338373f">m_name</a>;                       </div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="class_st_e_l_f_file.html#ac651a482dd310b5e620964211b69df9a">  153</a></span>&#160;    <a class="code" href="struct_elf32___ehdr.html">Elf32_Ehdr</a> <a class="code" href="class_st_e_l_f_file.html#ac651a482dd310b5e620964211b69df9a">m_header</a>;                      </div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="class_st_e_l_f_file.html#a4fbe23b0fcfdd317c9a3ab29f151eb82">  154</a></span>&#160;    std::vector&lt;Elf32_Shdr&gt; <a class="code" href="class_st_e_l_f_file.html#a4fbe23b0fcfdd317c9a3ab29f151eb82">m_sectionHeaders</a>; </div><div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="class_st_e_l_f_file.html#a222631bb90dd3546724386ee074b933b">  155</a></span>&#160;    std::vector&lt;Elf32_Phdr&gt; <a class="code" href="class_st_e_l_f_file.html#a222631bb90dd3546724386ee074b933b">m_programHeaders</a>; </div><div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="class_st_e_l_f_file.html#ac94c7ae804e67db4ac9f59c890ab31b4">  156</a></span>&#160;    <span class="keywordtype">unsigned</span> <a class="code" href="class_st_e_l_f_file.html#ac94c7ae804e67db4ac9f59c890ab31b4">m_symbolTableIndex</a>;              </div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="class_st_e_l_f_file.html">  161</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="class_st_e_l_f_file.html#struct_st_e_l_f_file_1_1_section_data_info">SectionDataInfo</a></div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    {</div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="class_st_e_l_f_file.html#ad3c1046c86d5017da30bf26c0140d922">  163</a></span>&#160;        uint8_t *<a class="code" href="class_st_e_l_f_file.html#ad3c1046c86d5017da30bf26c0140d922">m_data</a>; </div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="class_st_e_l_f_file.html#ac6218b6ea5bc7c91d0bdc58c205e4573">  164</a></span>&#160;        <span class="keywordtype">unsigned</span> <a class="code" href="class_st_e_l_f_file.html#ac6218b6ea5bc7c91d0bdc58c205e4573">m_size</a>; </div><div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="class_st_e_l_f_file.html#abc8dd8faddb96a673e68afab681cef36">  165</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="class_st_e_l_f_file.html#abc8dd8faddb96a673e68afab681cef36">m_swapped</a>;  </div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    };</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    <span class="keyword">typedef</span> std::map&lt;unsigned, SectionDataInfo&gt; SectionDataMap;</div><div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="class_st_e_l_f_file.html#a4ba143e0a24e2784ee5152752352e185">  168</a></span>&#160;    SectionDataMap <a class="code" href="class_st_e_l_f_file.html#a4ba143e0a24e2784ee5152752352e185">m_sectionDataCache</a>; </div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    <a class="code" href="class_st_e_l_f_file.html#struct_st_e_l_f_file_1_1_section_data_info">SectionDataInfo</a> &amp;<a class="code" href="class_st_e_l_f_file.html#a0cc808f75cc85d751077efb4d22d2e49">getCachedSectionData</a>(<span class="keywordtype">unsigned</span> inSectionIndex);</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_st_e_l_f_file.html#a1588520ed3c30aa3edd081ecab07fbcd">readFileHeaders</a>();</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;    uint8_t *<a class="code" href="class_st_e_l_f_file.html#afcaf53590f091b2aad60ef89805988ed">readSectionData</a>(<span class="keyword">const</span> <a class="code" href="struct_elf32___shdr.html">Elf32_Shdr</a> &amp;inHeader);</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    uint8_t *<a class="code" href="class_st_e_l_f_file.html#a8f90a7878411770dc30e1c01ace43ade">readSegmentData</a>(<span class="keyword">const</span> <a class="code" href="struct_elf32___phdr.html">Elf32_Phdr</a> &amp;inHeader);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_st_e_l_f_file.html#aa08a3f42173e6a32b7d521b2df76fb56">byteSwapSymbolTable</a>(<span class="keyword">const</span> <a class="code" href="struct_elf32___shdr.html">Elf32_Shdr</a> &amp;header, <a class="code" href="class_st_e_l_f_file.html#struct_st_e_l_f_file_1_1_section_data_info">SectionDataInfo</a> &amp;info);</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;};</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="class_st_e_l_f_file_exception.html">  186</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_st_e_l_f_file_exception.html">StELFFileException</a> : <span class="keyword">public</span> std::runtime_error</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;{</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="class_st_e_l_f_file_exception.html#a075c46448171976a87455b376d7a0602">  190</a></span>&#160;    <a class="code" href="class_st_e_l_f_file_exception.html#a075c46448171976a87455b376d7a0602">StELFFileException</a>(<span class="keyword">const</span> std::string &amp;inMessage)</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;        : <a class="code" href="namespacestd.html">std</a>::runtime_error(inMessage)</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;    {</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    }</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;};</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="preprocessor">#endif // _StELFFile_h_</span></div><div class="ttc" id="class_st_e_l_f_file_html_ac651a482dd310b5e620964211b69df9a"><div class="ttname"><a href="class_st_e_l_f_file.html#ac651a482dd310b5e620964211b69df9a">StELFFile::m_header</a></div><div class="ttdeci">Elf32_Ehdr m_header</div><div class="ttdoc">The ELF file header. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.h:153</div></div>
<div class="ttc" id="struct_elf32___shdr_html"><div class="ttname"><a href="struct_elf32___shdr.html">Elf32_Shdr</a></div><div class="ttdoc">ELF section header. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/ELF.h:135</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_a119443c477fe3ca4862bc46440480688"><div class="ttname"><a href="class_st_e_l_f_file.html#a119443c477fe3ca4862bc46440480688">StELFFile::getSectionDataAtIndex</a></div><div class="ttdeci">uint8_t * getSectionDataAtIndex(unsigned inIndex)</div><div class="ttdoc">Returns the data for the section. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.cpp:182</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_struct_st_e_l_f_file_1_1_section_data_info"><div class="ttname"><a href="class_st_e_l_f_file.html#struct_st_e_l_f_file_1_1_section_data_info">StELFFile::SectionDataInfo</a></div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.h:161</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_a4ba143e0a24e2784ee5152752352e185"><div class="ttname"><a href="class_st_e_l_f_file.html#a4ba143e0a24e2784ee5152752352e185">StELFFile::m_sectionDataCache</a></div><div class="ttdeci">SectionDataMap m_sectionDataCache</div><div class="ttdoc">Cached data of sections. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.h:168</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_a1f97854baf92491c5c68774b7c402b07"><div class="ttname"><a href="class_st_e_l_f_file.html#a1f97854baf92491c5c68774b7c402b07">StELFFile::m_elfVariant</a></div><div class="ttdeci">ELFVariant_t m_elfVariant</div><div class="ttdoc">Variant of the ARM ELF format specification. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.h:151</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_af6fc9dd4de7150784ec36962376eb993"><div class="ttname"><a href="class_st_e_l_f_file.html#af6fc9dd4de7150784ec36962376eb993">StELFFile::getSymbolCount</a></div><div class="ttdeci">unsigned getSymbolCount()</div><div class="ttdoc">Returns the number of symbols in the default &quot;.symtab&quot; symbol table. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.cpp:348</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_a42e4cb4c9377f07b85d50caa8b412de2"><div class="ttname"><a href="class_st_e_l_f_file.html#a42e4cb4c9377f07b85d50caa8b412de2">StELFFile::getIndexOfSectionWithName</a></div><div class="ttdeci">unsigned getIndexOfSectionWithName(const std::string &amp;inName)</div><div class="ttdoc">Returns the index of the section with the name inName. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.cpp:154</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_a0cc808f75cc85d751077efb4d22d2e49"><div class="ttname"><a href="class_st_e_l_f_file.html#a0cc808f75cc85d751077efb4d22d2e49">StELFFile::getCachedSectionData</a></div><div class="ttdeci">SectionDataInfo &amp; getCachedSectionData(unsigned inSectionIndex)</div><div class="ttdoc">Reads a section&amp;#39;s data either from cache or from disk. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.cpp:326</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_aa08a3f42173e6a32b7d521b2df76fb56"><div class="ttname"><a href="class_st_e_l_f_file.html#aa08a3f42173e6a32b7d521b2df76fb56">StELFFile::byteSwapSymbolTable</a></div><div class="ttdeci">void byteSwapSymbolTable(const Elf32_Shdr &amp;header, SectionDataInfo &amp;info)</div><div class="ttdoc">Byte swaps the symbol table data into host endianness. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.cpp:381</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_a1588520ed3c30aa3edd081ecab07fbcd"><div class="ttname"><a href="class_st_e_l_f_file.html#a1588520ed3c30aa3edd081ecab07fbcd">StELFFile::readFileHeaders</a></div><div class="ttdeci">void readFileHeaders()</div><div class="ttdoc">Reads the file, section, and program headers into memory. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.cpp:38</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_a4fbe23b0fcfdd317c9a3ab29f151eb82"><div class="ttname"><a href="class_st_e_l_f_file.html#a4fbe23b0fcfdd317c9a3ab29f151eb82">StELFFile::m_sectionHeaders</a></div><div class="ttdeci">std::vector&lt; Elf32_Shdr &gt; m_sectionHeaders</div><div class="ttdoc">All of the section headers. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.h:154</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_a686e6146a6786fe5baf7bd8209beff88"><div class="ttname"><a href="class_st_e_l_f_file.html#a686e6146a6786fe5baf7bd8209beff88">StELFFile::getSectionData</a></div><div class="ttdeci">uint8_t * getSectionData(const_section_iterator inSection)</div><div class="ttdoc">Returns the data for the section. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.cpp:196</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_afe92defa024903a0e4590185d74e4b47"><div class="ttname"><a href="class_st_e_l_f_file.html#afe92defa024903a0e4590185d74e4b47">StELFFile::getSegmentAtIndex</a></div><div class="ttdeci">const Elf32_Phdr &amp; getSegmentAtIndex(unsigned inIndex) const </div><div class="ttdoc">Returns a reference to the given segment. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.cpp:230</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_afcaf53590f091b2aad60ef89805988ed"><div class="ttname"><a href="class_st_e_l_f_file.html#afcaf53590f091b2aad60ef89805988ed">StELFFile::readSectionData</a></div><div class="ttdeci">uint8_t * readSectionData(const Elf32_Shdr &amp;inHeader)</div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.cpp:203</div></div>
<div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div><div class="ttdoc">STL namespace. </div></div>
<div class="ttc" id="class_st_e_l_f_file_html_a108d218dae9554c6bac311f05960f160"><div class="ttname"><a href="class_st_e_l_f_file.html#a108d218dae9554c6bac311f05960f160">StELFFile::setELFVariant</a></div><div class="ttdeci">virtual void setELFVariant(ELFVariant_t variant)</div><div class="ttdoc">Set the ELF format variation to either #eARMVariant or #eGHSVariant. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.h:60</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_ac5f4c6e2abc6b94829f3bc1f57b7ae56"><div class="ttname"><a href="class_st_e_l_f_file.html#ac5f4c6e2abc6b94829f3bc1f57b7ae56">StELFFile::ELFVariant</a></div><div class="ttdeci">virtual ELFVariant_t ELFVariant()</div><div class="ttdoc">Return the ELF format variant to which this file is set. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.h:58</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_a1adb3270ec336c86cb4b0a3cfd4a986c"><div class="ttname"><a href="class_st_e_l_f_file.html#a1adb3270ec336c86cb4b0a3cfd4a986c">StELFFile::getSymbolNameStringTableIndex</a></div><div class="ttdeci">unsigned getSymbolNameStringTableIndex() const </div><div class="ttdoc">Returns the section index of the string table containing symbol names. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.cpp:400</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_af852887a96c37916379b145f6009962f"><div class="ttname"><a href="class_st_e_l_f_file.html#af852887a96c37916379b145f6009962f">StELFFile::m_stream</a></div><div class="ttdeci">std::istream &amp; m_stream</div><div class="ttdoc">The source stream for the ELF file. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.h:150</div></div>
<div class="ttc" id="struct_elf32___phdr_html"><div class="ttname"><a href="struct_elf32___phdr.html">Elf32_Phdr</a></div><div class="ttdoc">ELF program header. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/ELF.h:223</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_ac94c7ae804e67db4ac9f59c890ab31b4"><div class="ttname"><a href="class_st_e_l_f_file.html#ac94c7ae804e67db4ac9f59c890ab31b4">StELFFile::m_symbolTableIndex</a></div><div class="ttdeci">unsigned m_symbolTableIndex</div><div class="ttdoc">Index of &quot;.symtab&quot; section, or #SHN_UNDEF if not present. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.h:156</div></div>
<div class="ttc" id="struct_elf32___sym_html"><div class="ttname"><a href="struct_elf32___sym.html">Elf32_Sym</a></div><div class="ttdoc">ELF symbol table entry. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/ELF.h:277</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_a8b4755ead44e29eed262fce6e92d33e4"><div class="ttname"><a href="class_st_e_l_f_file.html#a8b4755ead44e29eed262fce6e92d33e4">StELFFile::StELFFile</a></div><div class="ttdeci">StELFFile(std::istream &amp;inStream)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.cpp:16</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_afaa26d8ab0e9b60e90716c7494e65d2a"><div class="ttname"><a href="class_st_e_l_f_file.html#afaa26d8ab0e9b60e90716c7494e65d2a">StELFFile::getSegmentData</a></div><div class="ttdeci">uint8_t * getSegmentData(const_segment_iterator inSegment)</div><div class="ttdoc">Returns the data of the specified segment. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.cpp:261</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_a8113a82ee0a65fecbb72a214774bd4ed"><div class="ttname"><a href="class_st_e_l_f_file.html#a8113a82ee0a65fecbb72a214774bd4ed">StELFFile::~StELFFile</a></div><div class="ttdeci">virtual ~StELFFile()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.cpp:23</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_a8f90a7878411770dc30e1c01ace43ade"><div class="ttname"><a href="class_st_e_l_f_file.html#a8f90a7878411770dc30e1c01ace43ade">StELFFile::readSegmentData</a></div><div class="ttdeci">uint8_t * readSegmentData(const Elf32_Phdr &amp;inHeader)</div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.cpp:268</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_a20a1e62e93b67bdb8c3b185253f0c35b"><div class="ttname"><a href="class_st_e_l_f_file.html#a20a1e62e93b67bdb8c3b185253f0c35b">StELFFile::getFileHeader</a></div><div class="ttdeci">const Elf32_Ehdr &amp; getFileHeader() const </div><div class="ttdoc">Returns the ELF file header. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.h:72</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_a711f091fc67efbff1abc6639289fe437"><div class="ttname"><a href="class_st_e_l_f_file.html#a711f091fc67efbff1abc6639289fe437">StELFFile::getSectionAtIndex</a></div><div class="ttdeci">const Elf32_Shdr &amp; getSectionAtIndex(unsigned inIndex) const </div><div class="ttdoc">Returns a reference to section number inIndex. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.cpp:144</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_abc8dd8faddb96a673e68afab681cef36"><div class="ttname"><a href="class_st_e_l_f_file.html#abc8dd8faddb96a673e68afab681cef36">StELFFile::SectionDataInfo::m_swapped</a></div><div class="ttdeci">bool m_swapped</div><div class="ttdoc">Has this section been byte swapped yet? Used for symbol table. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.h:165</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_ade50c6ce0f3fde9168c41e968bce6450"><div class="ttname"><a href="class_st_e_l_f_file.html#ade50c6ce0f3fde9168c41e968bce6450">StELFFile::getSegmentDataAtIndex</a></div><div class="ttdeci">uint8_t * getSegmentDataAtIndex(unsigned inIndex)</div><div class="ttdoc">Returns the data of the specified segment. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.cpp:247</div></div>
<div class="ttc" id="struct_elf32___ehdr_html"><div class="ttname"><a href="struct_elf32___ehdr.html">Elf32_Ehdr</a></div><div class="ttdoc">ELF file header. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/ELF.h:61</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_a97da4e26f21e22d8e2337dc8cf923dad"><div class="ttname"><a href="class_st_e_l_f_file.html#a97da4e26f21e22d8e2337dc8cf923dad">StELFFile::getSectionNameAtIndex</a></div><div class="ttdeci">std::string getSectionNameAtIndex(unsigned inIndex)</div><div class="ttdoc">Returns a string from the file&amp;#39;s section name string table. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.cpp:299</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_aa6a3cb3570dbe7cc18e8e1ce9370295a"><div class="ttname"><a href="class_st_e_l_f_file.html#aa6a3cb3570dbe7cc18e8e1ce9370295a">StELFFile::getSectionCount</a></div><div class="ttdeci">unsigned getSectionCount() const </div><div class="ttdoc">Returns the number of sections in the file. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.h:79</div></div>
<div class="ttc" id="class_st_e_l_f_file_exception_html"><div class="ttname"><a href="class_st_e_l_f_file_exception.html">StELFFileException</a></div><div class="ttdoc">Simple exception thrown to indicate an error in the input ELF file format. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.h:186</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_ac1ba7311a751f7fc5f2eee47d338373f"><div class="ttname"><a href="class_st_e_l_f_file.html#ac1ba7311a751f7fc5f2eee47d338373f">StELFFile::m_name</a></div><div class="ttdeci">std::string m_name</div><div class="ttdoc">File name. (optional) </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.h:152</div></div>
<div class="ttc" id="class_st_e_l_f_file_html"><div class="ttname"><a href="class_st_e_l_f_file.html">StELFFile</a></div><div class="ttdoc">Parser for Executable and Linking Format (ELF) files. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.h:42</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_af3541a9b09ad7b60fddf9cd540c5f28f"><div class="ttname"><a href="class_st_e_l_f_file.html#af3541a9b09ad7b60fddf9cd540c5f28f">StELFFile::getStringAtIndex</a></div><div class="ttdeci">std::string getStringAtIndex(unsigned inStringTableSectionIndex, unsigned inStringIndex)</div><div class="ttdoc">Returns a string from any string table in the object file. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.cpp:311</div></div>
<div class="ttc" id="class_st_e_l_f_file_exception_html_a075c46448171976a87455b376d7a0602"><div class="ttname"><a href="class_st_e_l_f_file_exception.html#a075c46448171976a87455b376d7a0602">StELFFileException::StELFFileException</a></div><div class="ttdeci">StELFFileException(const std::string &amp;inMessage)</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.h:190</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_ac6218b6ea5bc7c91d0bdc58c205e4573"><div class="ttname"><a href="class_st_e_l_f_file.html#ac6218b6ea5bc7c91d0bdc58c205e4573">StELFFile::SectionDataInfo::m_size</a></div><div class="ttdeci">unsigned m_size</div><div class="ttdoc">Section data size in bytes. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.h:164</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_a7dfc2f4b2a7d927a88091ac91ff9278d"><div class="ttname"><a href="class_st_e_l_f_file.html#a7dfc2f4b2a7d927a88091ac91ff9278d">StELFFile::getIndexOfSymbolAtAddress</a></div><div class="ttdeci">unsigned getIndexOfSymbolAtAddress(uint32_t symbolAddress, bool strict=true)</div><div class="ttdoc">Returns STN_UNDEF if it cannot find a symbol at the given symbolAddress. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.cpp:413</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_a222631bb90dd3546724386ee074b933b"><div class="ttname"><a href="class_st_e_l_f_file.html#a222631bb90dd3546724386ee074b933b">StELFFile::m_programHeaders</a></div><div class="ttdeci">std::vector&lt; Elf32_Phdr &gt; m_programHeaders</div><div class="ttdoc">All of the program headers. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.h:155</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_a4e8903987ad8b071895bea15322907d1"><div class="ttname"><a href="class_st_e_l_f_file.html#a4e8903987ad8b071895bea15322907d1">StELFFile::getSegmentCount</a></div><div class="ttdeci">unsigned getSegmentCount() const </div><div class="ttdoc">Returns the number of segments, or program headers, in the file. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.h:99</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_a1a871019ec48109ee86d466fffa81187"><div class="ttname"><a href="class_st_e_l_f_file.html#a1a871019ec48109ee86d466fffa81187">StELFFile::getSymbolAtIndex</a></div><div class="ttdeci">const Elf32_Sym &amp; getSymbolAtIndex(unsigned inIndex)</div><div class="ttdoc">Returns the symbol with index inIndex. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.cpp:359</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_a1a4d85a2f655903d1648558b985d55fb"><div class="ttname"><a href="class_st_e_l_f_file.html#a1a4d85a2f655903d1648558b985d55fb">StELFFile::getSymbolName</a></div><div class="ttdeci">std::string getSymbolName(const Elf32_Sym &amp;inSymbol)</div><div class="ttdoc">Returns the name of the symbol described by inSymbol. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.cpp:406</div></div>
<div class="ttc" id="class_st_e_l_f_file_html_ad3c1046c86d5017da30bf26c0140d922"><div class="ttname"><a href="class_st_e_l_f_file.html#ad3c1046c86d5017da30bf26c0140d922">StELFFile::SectionDataInfo::m_data</a></div><div class="ttdeci">uint8_t * m_data</div><div class="ttdoc">Pointer to section data. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StELFFile.h:163</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_96c2f84c885cff71a930b6845f88cdd3.html">elftosb</a></li><li class="navelem"><a class="el" href="dir_c476059e18722267e10e2fb2cca6f785.html">common</a></li><li class="navelem"><b>StELFFile.h</b></li>
    <li class="footer">Generated on Mon Mar 7 2016 16:49:50 for Kinetis Bootloader Host by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
